package com.lonely.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lonely.common.core.domain.Select;
import com.lonely.system.domain.dto.size.SysSizeLibraryPageQueryDto;
import com.lonely.system.domain.dto.size.SysSizeLibrarySubmitDto;
import com.lonely.system.domain.entity.SysSizeLibrary;
import com.lonely.system.domain.vo.system.size.SysSizeLibraryDetailVo;
import com.lonely.system.domain.vo.system.size.SysSizeLibraryPageQueryVo;

import java.util.List;

/**
 * @author : 黄志标
 * @date: 2025/7/29 9:56
 * @description: 尺码库服务接口
 */
public interface ISysSizeLibraryService extends IService<SysSizeLibrary> {

    /**
     * 分页查询
     *
     * @param queryDto
     * @return
     */
    Page<SysSizeLibraryPageQueryVo> page(SysSizeLibraryPageQueryDto queryDto);

    /**
     * 创建尺码库
     *
     * @param submitDto
     * @return
     */
    void create(SysSizeLibrarySubmitDto submitDto);

    /**
     * 编辑尺码库
     *
     * @param submitDto
     */
    void edit(SysSizeLibrarySubmitDto submitDto);

    /**
     * 启用尺码库
     *
     * @param id
     */
    void enabled(Long id);

    /**
     * 禁用尺码库
     *
     * @param id
     */
    void disable(Long id);

    /**
     * 获取尺码库详情
     *
     * @param id
     * @return
     */
    SysSizeLibraryDetailVo getDetail(Long id);

    /**
     * 获取尺码库下拉选项
     *
     * @return
     */
    List<Select> getSizeLibrarySelectOptions();

    /**
     * 获取指定尺码库对应的商品尺码穿梭框选项值
     *
     * @param sizeLibraryId
     * @return
     */
    List<Select> getGoodsSizeTransferOptionsByLibrary(Long sizeLibraryId);
}
